package com.example.demoplus.ui.order;

import android.content.Context;
import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.demoplus.R;
import com.example.demoplus.adapter.QqAdapter;
import com.example.demoplus.api.BaseResp;
import com.example.demoplus.api.DemoResp;
import com.example.demoplus.api.MusicService;
import com.example.demoplus.api.QqMusiceService;
import com.example.demoplus.ui.dashboard.MyAdapter;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class OrderFragment extends Fragment {


    public static OrderFragment newInstance() {
        return new OrderFragment();
    }

    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.order_fragment, container, false);
    }
    //    单一职责
//    做初始化操作，或者业务逻辑代码
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        //        找到RecyclerView控件
        RecyclerView recyclerView = view.findViewById(R.id.r_view);
//        初始化上下文
        //    上下文
        Context context = getContext();
//        1、指定列表形式（指定布局管理器）
//        列表布局管理器
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);  //传入上下文对象
        //水平方向
//        linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        recyclerView.setLayoutManager(linearLayoutManager);
//        网格布局管理器
//        GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 2);
//        recyclerView.setLayoutManager(gridLayoutManager);

//        2、自定义适配器
        MyAdapter myAdapter = new MyAdapter(context);
        recyclerView.setAdapter(myAdapter);
//        3、添加数据
//    网络数据
//    发起网络请求
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://autumnfish.cn/")//设置网络请求的Url地址
                .addConverterFactory(GsonConverterFactory.create()) //设置数据解析器
                .build();
        MusicService service = retrofit.create(MusicService.class);
        Call<BaseResp> call = service.getSong(4222);
//        同步请求&异步请求
//        ANP： app not response
//        call.execute();  同步请求
//        异步请求
        call.enqueue(new Callback<BaseResp>() {
            @Override
            public void onResponse(Call<BaseResp> call, Response<BaseResp> response) {
                //请求成功
//                请求到body
                BaseResp resp = response.body();
                System.out.println(resp);
                System.out.println(resp.getCode());
//                resp.getCode();//得到状态码
//                resp.isMore();//得到more
//                resp.getSongs();//得到歌曲数据
                myAdapter.setData(resp.getSongs());
            }

            @Override
            public void onFailure(Call<BaseResp> call, Throwable t) {
                //请求失败
                t.printStackTrace();
            }
        });
    }

}